<!DOCTYPE html>
<html class="x-admin-sm">
<head>
    <meta charset="UTF-8">
    <title>添加</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi" />
    <link rel="stylesheet" href="/static/css/font.css">
    <link rel="stylesheet" href="/static/css/xadmin.css">
    <link rel="stylesheet" href="/static/css/dist_formSelects-v4.css">
    <script type="text/javascript" src="/static/lib/layui/layui.js" charset="utf-8"></script>
    <script type="text/javascript" src="/static/js/xadmin.js"></script>
    <script type="text/javascript" src="/static/js/jquery-2.1.0.js"></script>
    <script type="text/javascript" src="/static/js/dist_formSelects-v4.min.js"></script>
    <!-- 让IE8/9支持媒体查询，从而兼容栅格 -->
    <!--[if lt IE 9]>
    <script src="https://cdn.staticfile.org/html5shiv/r29/html5.min.js"></script>
    <script src="https://cdn.staticfile.org/respond.js/1.4.2/respond.min.js"></script>
    <![endif]-->
    <script src="/static/js/axios.min.js" charset="utf-8"></script>
    <style>
        #img-box img
        {
            width: 50px;
            height: 50px;
        }
        .layui-form-item .layui-input-inline {
            width: 500px !important;
        }
    </style>
</head>
<body>
<div class="layui-fluid">
    <div class="layui-row">
        <form class="layui-form">
            <div class="layui-form-item">
                <label for="L_article_id" class="layui-form-label">
                    文章
                </label>
                <div class="layui-input-inline">
                    <select id="L_article_id" name="article_id" required="" autocomplete="off" class="layui-select" xm-select="article_id" xm-select-search="/back/article/search">
                    </select>
                </div>
            </div>

            <div class="layui-form-item">
                <label for="L_label_id" class="layui-form-label">
                    标签
                </label>
                <div class="layui-input-inline">
                    <select id="L_label_id" name="label_id" required="" autocomplete="off" class="layui-select" xm-select="label_id" xm-select-search="/back/label/search">
                        <option th:each="item:${labelList}" th:value="${item.id}" th:text="${item.title}"></option>
                    </select>
                </div>
            </div>

            <div class="layui-form-item">
                <label for="L_sort" class="layui-form-label">
                    排序
                </label>
                <div class="layui-input-inline">
                    <input type="number" id="L_sort" name="sort" required="" autocomplete="off" class="layui-input">
                </div>
            </div>

            <div class="layui-form-item">
                <label for="L_on_shelf" class="layui-form-label">
                    状态
                </label>
                <div class="layui-input-inline">
                    <input type="checkbox" id="L_on_shelf" name="on_shelf" required="" lay-text="上架|下架" checked="" lay-skin="switch">
                </div>
            </div>

            <div class="layui-form-item">
                <label class="layui-form-label"></label>
                <button class="layui-btn" lay-filter="add" lay-submit="">增加</button>
            </div>
        </form>
    </div>
</div>
<script>
    $(window).ready(function()
    {
        var formSelects = layui.formSelects;
        formSelects.config('article_id', {
            type: 'get',                //请求方式: post, get, put, delete...
            // header: {},                 //自定义请求头
            // data: {},                   //自定义除搜索内容外的其他数据
            searchUrl: '/back/article/search',              //搜索地址, 默认使用xm-select-search的值, 此参数优先级高
            searchName: 'keyword',      //自定义搜索内容的key值
            searchVal: '',              //自定义搜索内容, 搜素一次后失效, 优先级高于搜索框中的值
            keyName: 'title',            //自定义返回数据中name的key, 默认 name
            keyVal: 'id',            //自定义返回数据中value的key, 默认 value
            keySel: 'selected',         //自定义返回数据中selected的key, 默认 selected
            keyDis: 'disabled',         //自定义返回数据中disabled的key, 默认 disabled
            keyChildren: 'children',    //联动多选自定义children
            delay: 500,                 //搜索延迟时间, 默认停止输入500ms后开始搜索
            direction: 'auto',          //多选下拉方向, auto|up|down
            response: {
                statusCode: 200,          //成功状态码
                statusName: 'code',     //code key
                msgName: 'msg',         //msg key
                dataName: 'data'        //data key
            },
            success: function(id, url, searchVal, result){      //使用远程方式的success回调
                console.log(id);        //组件ID xm-select
                console.log(url);       //URL
                console.log(searchVal); //搜索的value
                console.log(result);    //返回的结果
            },
            error: function(id, url, searchVal, err){           //使用远程方式的error回调
                //同上
                console.log(err);   //err对象
            },
            beforeSuccess: function(id, url, searchVal, result){        //success之前的回调, 干嘛呢? 处理数据的, 如果后台不想修改数据, 你也不想修改源码, 那就用这种方式处理下数据结构吧
                console.log(id);        //组件ID xm-select
                console.log(url);       //URL
                console.log(searchVal); //搜索的value
                console.log(result);    //返回的结果

                return result;  //必须return一个结果, 这个结果要符合对应的数据结构
            },
            beforeSearch: function(id, url, searchVal){         //搜索前调用此方法, return true将触发搜索, 否则不触发
                if(!searchVal){//如果搜索内容为空,就不触发搜索
                    return false;
                }
                return true;
            },
            clearInput: false,          //当有搜索内容时, 点击选项是否清空搜索内容, 默认不清空
        }, false);

        formSelects.config('label_id', {
            type: 'get',                //请求方式: post, get, put, delete...
            // header: {},                 //自定义请求头
            // data: {},                   //自定义除搜索内容外的其他数据
            searchUrl: '/back/label/search',              //搜索地址, 默认使用xm-select-search的值, 此参数优先级高
            searchName: 'keyword',      //自定义搜索内容的key值
            searchVal: '',              //自定义搜索内容, 搜素一次后失效, 优先级高于搜索框中的值
            keyName: 'title',            //自定义返回数据中name的key, 默认 name
            keyVal: 'id',            //自定义返回数据中value的key, 默认 value
            keySel: 'selected',         //自定义返回数据中selected的key, 默认 selected
            keyDis: 'disabled',         //自定义返回数据中disabled的key, 默认 disabled
            keyChildren: 'children',    //联动多选自定义children
            delay: 500,                 //搜索延迟时间, 默认停止输入500ms后开始搜索
            direction: 'auto',          //多选下拉方向, auto|up|down
            response: {
                statusCode: 200,          //成功状态码
                statusName: 'code',     //code key
                msgName: 'msg',         //msg key
                dataName: 'data'        //data key
            },
            success: function(id, url, searchVal, result){      //使用远程方式的success回调
                console.log(id);        //组件ID xm-select
                console.log(url);       //URL
                console.log(searchVal); //搜索的value
                console.log(result);    //返回的结果
            },
            error: function(id, url, searchVal, err){           //使用远程方式的error回调
                //同上
                console.log(err);   //err对象
            },
            beforeSuccess: function(id, url, searchVal, result){        //success之前的回调, 干嘛呢? 处理数据的, 如果后台不想修改数据, 你也不想修改源码, 那就用这种方式处理下数据结构吧
                console.log(id);        //组件ID xm-select
                console.log(url);       //URL
                console.log(searchVal); //搜索的value
                console.log(result);    //返回的结果

                return result;  //必须return一个结果, 这个结果要符合对应的数据结构
            },
            beforeSearch: function(id, url, searchVal){         //搜索前调用此方法, return true将触发搜索, 否则不触发
                if(!searchVal){//如果搜索内容为空,就不触发搜索
                    return false;
                }
                return true;
            },
            clearInput: false,          //当有搜索内容时, 点击选项是否清空搜索内容, 默认不清空
        }, false);
    })

    layui.use(['form', 'layer','jquery'],
        function() {
            $ = layui.jquery;
            var form = layui.form,
                layer = layui.layer;

            //监听提交
            form.on('submit(add)',
                function(data) {
                    let fromdata = new FormData();
                    let hasOnShelf = false;
                    for (let key in data.field) {
                        if(key == 'on_shelf'){
                            hasOnShelf = true;
                            fromdata.append(key, 1);
                        }else{
                            fromdata.append(key, data.field[key]);
                        }
                    }
                    if(!hasOnShelf)
                    {
                        fromdata.append('on_shelf', 0);
                    }
                    if(data.field.on_shelf)
                    {
                        data.field.on_shelf = 1;
                    }else{
                        data.field.on_shelf = 0;
                    }
                    axios.post('/back/article_label/addPost', data.field)
                        .then(function (response) {
                            if((response.data.code && response.data.code == 200) || (response.data.status && response.data.status == 200))
                            {
                                //发异步，把数据提交给php
                                layer.alert("增加成功", {icon: 6},
                                    function() {
                                        //关闭当前frame
                                        xadmin.close();
                                        // 可以对父窗口进行刷新
                                        xadmin.father_reload();
                                    });
                            }else
                            {
                                layer.msg(response.data.message);
                            }
                        })
                        .catch(function (error) {
                            layer.msg(error);
                        });
                    return false;
                });
        });
</script>
<script>

</script>
</body>

</html>